package com.jrx.anytxn.transaction.entity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 总账流水表 
 * 表:tl_gl_interface_info 
 * @author user 
 * @date 2023-05-02 
 */
public class TlGlInterfaceInfo {
    /**
     * 主键
     * 表字段:id
     */
    private Long id;

    /**
     * 租戶id
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 流水号
     * 表字段:gl_flowno
     */
    private String glFlowno;

    /**
     * 业务日期(YYYYMMDD)
     * 表字段:gl_date
     */
    private Date glDate;

    /**
     * 批次号(源系统可以按照一定逻辑生成（比如每次生成一个数据文件，同时生成一个批次号），目前一阶段每日仅有一个批次文件，规则：YYYYMMDD＋01)
     * 表字段:batch_id
     */
    private String batchId;

    /**
     * 机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 消费信贷核算事件对应的交易码 具体值：按照消费信贷系统规范约定会计引擎模块会维护与消费信贷系统一致的数据字典
     * 表字段:txn_code
     */
    private String txnCode;

    /**
     * 交易金额
     * 表字段:amount
     */
    private BigDecimal amount;

    /**
     * 贷款id
     * 表字段:loan_id
     */
    private String loanId;

    /**
     * 贷款产品id
     * 表字段:loan_product_id
     */
    private String loanProductId;

    /**
     * 客户号
     * 表字段:customer_id
     */
    private String customerId;

    /**
     * 交易描述(业务行摘要说明，源系统可视情况自动生成)
     * 表字段:txn_desc
     */
    private String txnDesc;

    /**
     * 交易账户号
     * 表字段:txn_account_id
     */
    private String txnAccountId;

    /**
     * 五级分类(0 = 正常 1 = 关注  2 = 次级  3 = 可疑 4 = 损失)
     * 表字段:loan_classify
     */
    private String loanClassify;

    /**
     * 类别(0=应计 1=非应计)
     * 表字段:category
     */
    private String category;

    /**
     * 贷款是否发生单笔减值(0 = 否 1 = 是 固定值0)
     * 表字段:impair_flag
     */
    private String impairFlag;

    /**
     * 数据来源(固定值CLS)
     * 表字段:gl_source
     */
    private String glSource;

    /**
     * 渠道
     * 表字段:channel
     */
    private String channel;

    /**
     * 债务归属
     * 表字段:liability_flag
     */
    private String liabilityFlag;

    /**
     * 总期数 total_tenor
     * 表字段:attribute_reserve1
     */
    private String attributeReserve1;

    /**
     * 贷款期限总天数 total_days
     * 表字段:attribute_reserve2
     */
    private String attributeReserve2;

    /**
     * 会计状态 发生状态转列时，记录的是转列前的状态(0=正常 1=逾期 2=呆滞 3=呆账)
     * 表字段:attribute_reserve3
     */
    private String attributeReserve3;

    /**
     * 备用字段
     * 表字段:attribute_reserve4
     */
    private String attributeReserve4;

    /**
     * 行内行外放款：0.行内放款、 1.行外放款
     * 表字段:bank_type
     */
    private String bankType;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    /**
     * 记录版本号
     * 表字段:record_version_number
     */
    private Integer recordVersionNumber;

    /**
     * 子渠道id
     * 表字段:sub_channel
     */
    private String subChannel;

    /**
     * 获取主键
     * @return id Long
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键
     * @param id 主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取租戶id
     * @return tenantId String
     */
    public String getTenantId() {
        return tenantId;
    }

    /**
     * 设置租戶id
     * @param tenantId 租戶id
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    /**
     * 获取流水号
     * @return glFlowno String
     */
    public String getGlFlowno() {
        return glFlowno;
    }

    /**
     * 设置流水号
     * @param glFlowno 流水号
     */
    public void setGlFlowno(String glFlowno) {
        this.glFlowno = glFlowno;
    }

    /**
     * 获取业务日期(YYYYMMDD)
     * @return glDate Date
     */
    public Date getGlDate() {
        return glDate;
    }

    /**
     * 设置业务日期(YYYYMMDD)
     * @param glDate 业务日期(YYYYMMDD)
     */
    public void setGlDate(Date glDate) {
        this.glDate = glDate;
    }

    /**
     * 获取批次号(源系统可以按照一定逻辑生成（比如每次生成一个数据文件，同时生成一个批次号），目前一阶段每日仅有一个批次文件，规则：YYYYMMDD＋01)
     * @return batchId String
     */
    public String getBatchId() {
        return batchId;
    }

    /**
     * 设置批次号(源系统可以按照一定逻辑生成（比如每次生成一个数据文件，同时生成一个批次号），目前一阶段每日仅有一个批次文件，规则：YYYYMMDD＋01)
     * @param batchId 批次号(源系统可以按照一定逻辑生成（比如每次生成一个数据文件，同时生成一个批次号），目前一阶段每日仅有一个批次文件，规则：YYYYMMDD＋01)
     */
    public void setBatchId(String batchId) {
        this.batchId = batchId;
    }

    /**
     * 获取机构号
     * @return organizationId String
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * 设置机构号
     * @param organizationId 机构号
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    /**
     * 获取消费信贷核算事件对应的交易码 具体值：按照消费信贷系统规范约定会计引擎模块会维护与消费信贷系统一致的数据字典
     * @return txnCode String
     */
    public String getTxnCode() {
        return txnCode;
    }

    /**
     * 设置消费信贷核算事件对应的交易码 具体值：按照消费信贷系统规范约定会计引擎模块会维护与消费信贷系统一致的数据字典
     * @param txnCode 消费信贷核算事件对应的交易码 具体值：按照消费信贷系统规范约定会计引擎模块会维护与消费信贷系统一致的数据字典
     */
    public void setTxnCode(String txnCode) {
        this.txnCode = txnCode;
    }

    /**
     * 获取交易金额
     * @return amount BigDecimal
     */
    public BigDecimal getAmount() {
        return amount;
    }

    /**
     * 设置交易金额
     * @param amount 交易金额
     */
    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    /**
     * 获取贷款id
     * @return loanId String
     */
    public String getLoanId() {
        return loanId;
    }

    /**
     * 设置贷款id
     * @param loanId 贷款id
     */
    public void setLoanId(String loanId) {
        this.loanId = loanId;
    }

    /**
     * 获取贷款产品id
     * @return loanProductId String
     */
    public String getLoanProductId() {
        return loanProductId;
    }

    /**
     * 设置贷款产品id
     * @param loanProductId 贷款产品id
     */
    public void setLoanProductId(String loanProductId) {
        this.loanProductId = loanProductId;
    }

    /**
     * 获取客户号
     * @return customerId String
     */
    public String getCustomerId() {
        return customerId;
    }

    /**
     * 设置客户号
     * @param customerId 客户号
     */
    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    /**
     * 获取交易描述(业务行摘要说明，源系统可视情况自动生成)
     * @return txnDesc String
     */
    public String getTxnDesc() {
        return txnDesc;
    }

    /**
     * 设置交易描述(业务行摘要说明，源系统可视情况自动生成)
     * @param txnDesc 交易描述(业务行摘要说明，源系统可视情况自动生成)
     */
    public void setTxnDesc(String txnDesc) {
        this.txnDesc = txnDesc;
    }

    /**
     * 获取交易账户号
     * @return txnAccountId String
     */
    public String getTxnAccountId() {
        return txnAccountId;
    }

    /**
     * 设置交易账户号
     * @param txnAccountId 交易账户号
     */
    public void setTxnAccountId(String txnAccountId) {
        this.txnAccountId = txnAccountId;
    }

    /**
     * 获取五级分类(0 = 正常 1 = 关注  2 = 次级  3 = 可疑 4 = 损失)
     * @return loanClassify String
     */
    public String getLoanClassify() {
        return loanClassify;
    }

    /**
     * 设置五级分类(0 = 正常 1 = 关注  2 = 次级  3 = 可疑 4 = 损失)
     * @param loanClassify 五级分类(0 = 正常 1 = 关注  2 = 次级  3 = 可疑 4 = 损失)
     */
    public void setLoanClassify(String loanClassify) {
        this.loanClassify = loanClassify;
    }

    /**
     * 获取类别(0=应计 1=非应计)
     * @return category String
     */
    public String getCategory() {
        return category;
    }

    /**
     * 设置类别(0=应计 1=非应计)
     * @param category 类别(0=应计 1=非应计)
     */
    public void setCategory(String category) {
        this.category = category;
    }

    /**
     * 获取贷款是否发生单笔减值(0 = 否 1 = 是 固定值0)
     * @return impairFlag String
     */
    public String getImpairFlag() {
        return impairFlag;
    }

    /**
     * 设置贷款是否发生单笔减值(0 = 否 1 = 是 固定值0)
     * @param impairFlag 贷款是否发生单笔减值(0 = 否 1 = 是 固定值0)
     */
    public void setImpairFlag(String impairFlag) {
        this.impairFlag = impairFlag;
    }

    /**
     * 获取数据来源(固定值CLS)
     * @return glSource String
     */
    public String getGlSource() {
        return glSource;
    }

    /**
     * 设置数据来源(固定值CLS)
     * @param glSource 数据来源(固定值CLS)
     */
    public void setGlSource(String glSource) {
        this.glSource = glSource;
    }

    /**
     * 获取渠道
     * @return channel String
     */
    public String getChannel() {
        return channel;
    }

    /**
     * 设置渠道
     * @param channel 渠道
     */
    public void setChannel(String channel) {
        this.channel = channel;
    }

    /**
     * 获取债务归属
     * @return liabilityFlag String
     */
    public String getLiabilityFlag() {
        return liabilityFlag;
    }

    /**
     * 设置债务归属
     * @param liabilityFlag 债务归属
     */
    public void setLiabilityFlag(String liabilityFlag) {
        this.liabilityFlag = liabilityFlag;
    }

    /**
     * 获取总期数 total_tenor
     * @return attributeReserve1 String
     */
    public String getAttributeReserve1() {
        return attributeReserve1;
    }

    /**
     * 设置总期数 total_tenor
     * @param attributeReserve1 总期数 total_tenor
     */
    public void setAttributeReserve1(String attributeReserve1) {
        this.attributeReserve1 = attributeReserve1;
    }

    /**
     * 获取贷款期限总天数 total_days
     * @return attributeReserve2 String
     */
    public String getAttributeReserve2() {
        return attributeReserve2;
    }

    /**
     * 设置贷款期限总天数 total_days
     * @param attributeReserve2 贷款期限总天数 total_days
     */
    public void setAttributeReserve2(String attributeReserve2) {
        this.attributeReserve2 = attributeReserve2;
    }

    /**
     * 获取会计状态 发生状态转列时，记录的是转列前的状态(0=正常 1=逾期 2=呆滞 3=呆账)
     * @return attributeReserve3 String
     */
    public String getAttributeReserve3() {
        return attributeReserve3;
    }

    /**
     * 设置会计状态 发生状态转列时，记录的是转列前的状态(0=正常 1=逾期 2=呆滞 3=呆账)
     * @param attributeReserve3 会计状态 发生状态转列时，记录的是转列前的状态(0=正常 1=逾期 2=呆滞 3=呆账)
     */
    public void setAttributeReserve3(String attributeReserve3) {
        this.attributeReserve3 = attributeReserve3;
    }

    /**
     * 获取备用字段
     * @return attributeReserve4 String
     */
    public String getAttributeReserve4() {
        return attributeReserve4;
    }

    /**
     * 设置备用字段
     * @param attributeReserve4 备用字段
     */
    public void setAttributeReserve4(String attributeReserve4) {
        this.attributeReserve4 = attributeReserve4;
    }

    /**
     * 获取行内行外放款：0.行内放款、 1.行外放款
     * @return bankType String
     */
    public String getBankType() {
        return bankType;
    }

    /**
     * 设置行内行外放款：0.行内放款、 1.行外放款
     * @param bankType 行内行外放款：0.行内放款、 1.行外放款
     */
    public void setBankType(String bankType) {
        this.bankType = bankType;
    }

    /**
     * 获取创建时间
     * @return createTime Date
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取最后更新时间
     * @return updateTime Date
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置最后更新时间
     * @param updateTime 最后更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取最后更新操作员
     * @return updateBy String
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置最后更新操作员
     * @param updateBy 最后更新操作员
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 获取记录版本号
     * @return recordVersionNumber Integer
     */
    public Integer getRecordVersionNumber() {
        return recordVersionNumber;
    }

    /**
     * 设置记录版本号
     * @param recordVersionNumber 记录版本号
     */
    public void setRecordVersionNumber(Integer recordVersionNumber) {
        this.recordVersionNumber = recordVersionNumber;
    }

    /**
     * 获取子渠道id
     * @return subChannel String
     */
    public String getSubChannel() {
        return subChannel;
    }

    /**
     * 设置子渠道id
     * @param subChannel 子渠道id
     */
    public void setSubChannel(String subChannel) {
        this.subChannel = subChannel;
    }
}